/*
函数重载: 函数名相同, 而形参不同的多个函数
*/
/*
需求: 我们有一个add函数，它可以接收2个string类型的参数进行拼接，
  也可以接收2个number类型的参数进行相加
*/
(function () {
    function add(x, y) {
        if (typeof x === 'string' && typeof y === 'string') {
            return x + y;
        }
        else if (typeof x === 'number' && typeof y === 'number') {
            return x + y;
        }
    }
    console.log(add(2, 3)); // 5
    console.log(add('abc', 'cba')); // abccba
    // console.log(add(2, 'abc')) // error
    // console.log(add('abc', 3)) // error
})();
